/*
 * File:   SpellEffect.h
 * Author: Quintero
 *
 * Created on February 3, 2012, 8:02 PM
 */
#ifndef SPELLEFFECT_H
#define SPELLEFFECT_H
class SpellEffect
{
    float coefficient;
    float stdHealthPercentMin;
    float stdHealthPercentMax;
    float stdHealthPercentAvg;
    int standardHealth;
    int standardHealthDamage;
    float healing;
    int ticks;
    double amountModifierPercent;
    double damage;
    bool isWeaponDamage;

public:
    float getHealing(float bonusHealing);
    double getDamage(double bonusDamage, double MH_max, double MH_min, double OH_max, double OH_min, bool isBasicAttack);
    void setValues(float coeff, float stdMin, float stdMax);
    void setValues(float coeff, float stdMin, float stdMax, int numTicks);
    void setValues(double coeff, double stdMin, double stdMax, int numTicks, double amountModPercent);
    SpellEffect();
    SpellEffect(float coeff, float stdMin, float stdMax);
    SpellEffect(float coeff, float stdMin, float stdMax, int numTicks);
    SpellEffect(double coeff, double stdMin, double stdMax, double amountModPercent);
    ~SpellEffect();
};
#endif
